package com.lifeng.service;

import com.alibaba.csp.sentinel.annotation.SentinelResource;
import org.springframework.stereotype.Service;

/**
 * Created by lifeng on 2019/6/14.
 */
@Service
public class FallBackService {

    /**
     * fallback仅针对降级功能生效，
     参数类型和返回类型都需要与原方法相匹配，
     并且需要和原方法在同一个类中。业务异常不会进入 fallback 逻辑。
     */
    @SentinelResource(value = "sayHello", fallback = "sayHelloFallback")
    public String sayHello(){
        //模拟响应时间慢
        for (int i = 0; i < 100000000L; i++) {
        }
        return "sayHello";
    }

    public String sayHelloFallback(){
        System.out.println("sayHello 降级了");
        return "sayHello 降级了";
    }
}
